Importing and analyzing external data using a virtual reality welding system

ABSTRACT

A real-time virtual reality welding system including a programmable processor-based subsystem, a spatial tracker operatively connected to the programmable processor-based subsystem, at least one mock welding tool capable of being spatially tracked by the spatial tracker, and at least one display device operatively connected to the programmable processor-based subsystem. The system is capable of simulating, in virtual reality space, a weld puddle having real-time molten metal fluidity and heat dissipation characteristics. The system is further capable of importing data into the virtual reality welding system and analyzing the data to characterize a student welder&#39;s progress and to provide training.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This U.S. patent application claims priority to and is a continuation(CON) of U.S. application Ser. No. 14/821,051, filed Aug. 7, 2015, whichis a continuation (CON) of U.S. application Ser. No. 13/792,309, filedon Mar. 11, 2013, now U.S. Pat. No. 9,196,169, which is acontinuation-in-part (CIP) patent application of U.S. patent applicationSer. No. 12/501,257 filed on Jul. 10, 2009, now U.S. Pat. No. 8,747,116,the disclosures of which are incorporated herein by reference in theirentirety. U.S. patent application Ser. No. 12/501,257 claims priority toand the benefit of U.S. Provisional Patent Application Ser. No.61/090,794 filed on Aug. 21, 2008, which is incorporated herein byreference in its entirety. The Published U.S. patent application havingSer. No. 13/453,124 and filed on Apr. 23, 2012 is incorporated herein byreference in its entirety.

TECHNICAL FIELD

Certain embodiments relate to virtual reality simulation. Moreparticularly, certain embodiments relate to systems and methods forproviding arc welding training in a simulated virtual realityenvironment or augmented reality environment using real-time weld puddlefeedback, and for providing the importing and analyzing of external datain a virtual reality welding system.

BACKGROUND

Learning how to arc weld traditionally takes many hours of instruction,training, and practice. There are many different types of arc weldingand arc welding processes that can be learned. Typically, welding islearned by a student using a real welding system and performing weldingoperations on real metal pieces. Such real-world training can tie upscarce welding resources and use up limited welding materials. Recently,however, the idea of training using welding simulations has become morepopular. Some welding simulations are implemented via personal computersand/or on-line via the Internet. However, current known weldingsimulations tend to be limited in their training focus. For example,some welding simulations focus on training only for “muscle memory”,which simply trains a welding student how to hold and position a weldingtool. Other welding simulations focus on showing visual and audioeffects of the welding process, but only in a limited and oftenunrealistic manner which does not provide the student with the desiredfeedback that is highly representative of real world welding. It is thisactual feedback that directs the student to make necessary adjustmentsto make a good weld. Welding is learned by watching the arc and/orpuddle, not by muscle memory.

Further limitations and disadvantages of conventional, traditional, andproposed approaches will become apparent to one of skill in the art,through comparison of such approaches with embodiments of the presentinvention as set forth in the remainder of the present application withreference to the drawings.

SUMMARY

An arc welding simulation has been devised on a virtual reality weldingsystem that provides simulation of a weld puddle in a virtual realityspace having real-time molten metal fluidity characteristics and heatabsorption and heat dissipation characteristics. Data may be importedinto the virtual reality welding system and analyzed to characterize astudent welder's progress and to provide training.

In accordance with an embodiment, a virtual reality welding systemincludes a programmable processor-based subsystem, a spatial trackeroperatively connected to the programmable processor-based subsystem, atleast one mock welding tool capable of being spatially tracked by thespatial tracker, and at least one display device operatively connectedto the programmable processor-based subsystem. The system is capable ofsimulating, in virtual reality space, a weld puddle having real-timemolten metal fluidity and heat dissipation characteristics. The systemis further capable of displaying the simulated weld puddle on thedisplay device to depict a real-world weld. Based upon the studentperformance, the system will display an evaluated weld that will eitherbe acceptable or show a weld with defects. External data may be importedto the virtual reality welding system and analyzed to determine thequality of a weld generated by a student welder, or to model sections ofa welded custom assembly for training.

One embodiment provides a method. The method includes importing a firstdata set of welding quality parameters, being representative of aquality of a weld generated by a student welder during a real-worldwelding activity corresponding to a defined welding process, into avirtual reality welding system. The method also includes comparing asecond data set of welding quality parameters stored on the virtualreality simulator, being representative of a quality of a virtual weldgenerated by the student welder during a simulated welding activitycorresponding to the defined welding process on the virtual realitywelding system, to the first data set using a programmableprocessor-based subsystem of the virtual reality welding system. Themethod further includes generating a numerical comparison score inresponse to the comparing using the programmable processor-basedsubsystem of the virtual reality welding system.

One embodiment provides a method. The method includes importing a firstdata set of measured welding parameters, generated during a real-worldwelding activity corresponding to a defined welding process performed byan expert welder using a real-world welding machine, into a virtualreality welding system. The method also includes storing a second dataset of simulated welding parameters, generated during a simulatedwelding activity corresponding to the defined welding process asperformed by a student welder using the virtual reality welding system,on the virtual reality welding system. The method further includescalculating a plurality of student welding quality parameters bycomparing the first data set to the second data set using a programmableprocessor-based subsystem of the virtual reality welding system.

One embodiment provides a method. The method includes storing a firstdata set of simulated welding parameters, generated during a firstsimulated welding activity corresponding to a defined welding processperformed by an expert welder using a virtual reality welding system, onthe virtual reality welding system. The method also includes storing asecond data set of simulated welding parameters, generated during asecond simulated welding activity corresponding to the defined weldingprocess as performed by a student welder using the virtual realitywelding system, on the virtual reality welding system. The methodfurther includes calculating a plurality of student welding qualityparameters by comparing the first data set to the second data set usinga programmable processor-based subsystem of the virtual reality weldingsystem.

One embodiment provides a method. The method includes importing adigital model representative of a welded custom assembly into a virtualreality welding system. The method also includes analyzing the digitalmodel to segment the digital model into a plurality of sections using aprogrammable processor-based subsystem of the virtual reality weldingsystem, wherein each section of the plurality of sections corresponds toa single weld joint type of the welded custom assembly. The methodfurther includes matching each section of the plurality of sections to avirtual welding coupon of a plurality of virtual welding coupons modeledin the virtual reality welding system using the programmableprocessor-based subsystem of the virtual reality welding system.

These and other features of the claimed invention, as well as details ofillustrated embodiments thereof, will be more fully understood from thefollowing description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a first example embodiment of a system block diagramof a system providing arc welding training in a real-time virtualreality environment;

FIG. 2 illustrates an example embodiment of a combined simulated weldingconsole and observer display device (ODD) of the system of FIG. 1;

FIG. 3 illustrates an example embodiment of the observer display device(ODD) of FIG. 2;

FIG. 4 illustrates an example embodiment of a front portion of thesimulated welding console of FIG. 2 showing a physical welding userinterface (WUI);

FIG. 5 illustrates an example embodiment of a mock welding tool (MWT) ofthe system of FIG. 1;

FIG. 6 illustrates an example embodiment of a table/stand (T/S) of thesystem of FIG. 1;

FIG. 7A illustrates an example embodiment of a pipe welding coupon (WC)of the system of FIG. 1;

FIG. 7B illustrates the pipe WC of FIG. 7A mounted in an arm of thetable/stand (TS) of FIG. 6;

FIG. 8 illustrates various elements of an example embodiment of thespatial tracker (ST) of FIG. 1;

FIG. 9A illustrates an example embodiment of a face-mounted displaydevice (FMDD) of the system of FIG. 1;

FIG. 9B is an illustration of how the FMDD of FIG. 9A is secured on thehead of a user;

FIG. 9C illustrates an example embodiment of the FMDD of FIG. 9A mountedwithin a welding helmet;

FIG. 10 illustrates an example embodiment of a subsystem block diagramof a programmable processor-based subsystem (PPS) of the system of FIG.1;

FIG. 11 illustrates an example embodiment of a block diagram of agraphics processing unit (GPU) of the PPS of FIG. 10;

FIG. 12 illustrates an example embodiment of a functional block diagramof the system of FIG. 1;

FIG. 13 is a flow chart of an embodiment of a method of training usingthe virtual reality training system of FIG. 1;

FIGS. 14A-14B illustrate the concept of a welding pixel (wexel)displacement map, in accordance with an embodiment of the presentinvention;

FIG. 15 illustrates an example embodiment of a coupon space and a weldspace of a flat welding coupon (WC) simulated in the system of FIG. 1;

FIG. 16 illustrates an example embodiment of a coupon space and a weldspace of a corner (tee joint) welding coupon (WC) simulated in thesystem of FIG. 1;

FIG. 17 illustrates an example embodiment of a coupon space and a weldspace of a pipe welding coupon (WC) simulated in the system of FIG. 1;

FIG. 18 illustrates an example embodiment of the pipe welding coupon(WC) of FIG. 17;

FIGS. 19A-19C illustrate an example embodiment of the concept of adual-displacement puddle model of the system of FIG. 1;

FIG. 20 illustrates the concept of importing welding quality parametersinto a virtual reality welding system from a real-world welding machine;

FIG. 21 is a flow chart of an embodiment of a method to compare astudent welder's real-world welding activity to the student welder'svirtual welding activity;

FIG. 22 is a flow chart of an embodiment of a method to compare astudent welder's virtual welding activity to an expert welder'sreal-world welding activity;

FIG. 23 illustrates the concept of importing measured welding parametersinto a virtual reality welding system from a real-world welding machine;

FIG. 24 is a flow chart of a first embodiment of a method of generatinga plurality of student welding quality parameters and a numericalstudent score;

FIG. 25 is a flow chart of a second embodiment of a method of generatinga plurality of student welding quality parameters and a numericalstudent score;

FIG. 26 illustrates the concept of importing a digital modelrepresentative of a welded custom assembly into a virtual realitywelding system;

FIG. 27 illustrates the concept of matching sections of a digital modelrepresentative of a welded custom part to a plurality of weldingcoupons; and

FIG. 28 is a flowchart of an embodiment of a method to generate avirtual welding training program for a welded custom part.

DETAILED DESCRIPTION

An embodiment of the present invention comprises a virtual reality arcwelding (VRAW) system comprising a programmable processor-basedsubsystem, a spatial tracker operatively connected to the programmableprocessor-based subsystem, at least one mock welding tool capable ofbeing spatially tracked by the spatial tracker, and at least one displaydevice operatively connected to the programmable processor-basedsubsystem. The system is capable of simulating, in a virtual realityspace, a weld puddle having real-time molten metal fluidity and heatdissipation characteristics. The system is also capable of displayingthe simulated weld puddle on the display device in real-time. Thereal-time molten metal fluidity and heat dissipation characteristics ofthe simulated weld puddle provide real-time visual feedback to a user ofthe mock welding tool when displayed, allowing the user to adjust ormaintain a welding technique in real-time in response to the real-timevisual feedback (i.e., helps the user learn to weld correctly). Thedisplayed weld puddle is representative of a weld puddle that would beformed in the real-world based on the user's welding technique and theselected welding process and parameters. By viewing a puddle (e.g.,shape, color, slag, size, stacked dimes), a user can modify histechnique to make a good weld and determine the type of welding beingdone. The shape of the puddle is responsive to the movement of the gunor stick. As used herein, the term “real-time” means perceiving andexperiencing in time in a simulated environment in the same way that auser would perceive and experience in a real-world welding scenario.Furthermore, the weld puddle is responsive to the effects of thephysical environment including gravity, allowing a user to realisticallypractice welding in various positions including overhead welding andvarious pipe welding angles (e.g., 1G, 2G, 5G, 6G). As used herein, theterm “virtual weldment” refers to a simulated welded part that exists invirtual reality space. For example, a simulated welding coupon that hasbeen virtually welded as described herein is an example of a virtualweldment.

FIG. 1 illustrates an example embodiment of a system block diagram of asystem 100 providing arc welding training in a real-time virtual realityenvironment. The system 100 includes a programmable processor-basedsubsystem (PPS) 110. The system 100 further includes a spatial tracker(ST) 120 operatively connected to the PPS 110. The system 100 alsoincludes a physical welding user interface (WUI) 130 operativelyconnected to the PPS 110 and a face-mounted display device (FMDD) 140operatively connected to the PPS 110 and the ST 120. The system 100further includes an observer display device (ODD) 150 operativelyconnected to the PPS 110. The system 100 also includes at least one mockwelding tool (MWT) 160 operatively connected to the ST 120 and the PPS110. The system 100 further includes a table/stand (T/S) 170 and atleast one welding coupon (WC) 180 capable of being attached to the T/S170. In accordance with an alternative embodiment of the presentinvention, a mock gas bottle is provided (not shown) simulating a sourceof shielding gas and having an adjustable flow regulator.

FIG. 2 illustrates an example embodiment of a combined simulated weldingconsole 135 (simulating a welding power source user interface) andobserver display device (ODD) 150 of the system 100 of FIG. 1. Thephysical WUI 130 resides on a front portion of the console 135 andprovides knobs, buttons, and a joystick for user selection of variousmodes and functions. The ODD 150 is attached to a top portion of theconsole 135. The MWT 160 rests in a holder attached to a side portion ofthe console 135. Internally, the console 135 holds the PPS 110 and aportion of the ST 120.

FIG. 3 illustrates an example embodiment of the observer display device(ODD) 150 of FIG. 2. In accordance with an embodiment of the presentinvention, the ODD 150 is a liquid crystal display (LCD) device. Otherdisplay devices are possible as well. For example, the ODD 150 may be atouchscreen display, in accordance with another embodiment of thepresent invention. The ODD 150 receives video (e.g., SVGA format) anddisplay information from the PPS 110.

As shown in FIG. 3, the ODD 150 is capable of displaying a first userscene showing various welding parameters 151 including position, tip towork, weld angle, travel angle, and travel speed. These parameters maybe selected and displayed in real time in graphical form and are used toteach proper welding technique. Furthermore, as shown in FIG. 3, the ODD150 is capable of displaying simulated welding discontinuity states 152including, for example, improper weld size, poor bead placement, concavebead, excessive convexity, undercut, porosity, incomplete fusion, slaginclusion, excess spatter, overfill, and burnthrough (melt through).Undercut is a groove melted into the base metal adjacent to the weld orweld root and left unfilled by weld metal. Undercut is often due to anincorrect angle of welding. Porosity is cavity type discontinuitiesformed by gas entrapment during solidification often caused by movingthe arc too far away from the coupon.

Also, as shown in FIG. 3, the ODD 50 is capable of displaying userselections 153 including menu, actions, visual cues, new coupon, and endpass. These user selections are tied to user buttons on the console 135.As a user makes various selections via, for example, a touchscreen ofthe ODD 150 or via the physical WUI 130, the displayed characteristicscan change to provide selected information and other options to theuser. Furthermore, the ODD 150 may display a view seen by a welderwearing the FMDD 140 at the same angular view of the welder or atvarious different angles, for example, chosen by an instructor. The ODD150 may be viewed by an instructor and/or students for various trainingpurposes. For example, the view may be rotated around the finished weldallowing visual inspection by an instructor. In accordance with analternate embodiment of the present invention, video from the system 100may be sent to a remote location via, for example, the Internet forremote viewing and/or critiquing. Furthermore, audio may be provided,allowing real-time audio communication between a student and a remoteinstructor.

FIG. 4 illustrates an example embodiment of a front portion of thesimulated welding console 135 of FIG. 2 showing a physical welding userinterface (WUI) 130. The WUI 130 includes a set of buttons 131corresponding to the user selections 153 displayed on the ODD 150. Thebuttons 131 are colored to correspond to the colors of the userselections 153 displayed on the ODD 150. When one of the buttons 131 ispressed, a signal is sent to the PPS 110 to activate the correspondingfunction. The WUI 130 also includes a joystick 132 capable of being usedby a user to select various parameters and selections displayed on theODD 150. The WUI 130 further includes a dial or knob 133 for adjustingwire feed speed/amps, and another dial or knob 134 for adjustingvolts/trim. The WUI 130 also includes a dial or knob 136 for selectingan arc welding process. In accordance with an embodiment of the presentinvention, three arc welding processes are selectable including fluxcored arc welding (FCAW) including gas-shielded and self-shieldedprocesses; gas metal arc welding (GMAW) including short arc, axialspray, STT, and pulse; gas tungsten arc welding (GTAW); and shieldedmetal arc welding (SMAW) including E6010 and E7010 electrodes. The WUI130 further includes a dial or knob 137 for selecting a weldingpolarity. In accordance with an embodiment of the present invention,three arc welding polarities are selectable including alternatingcurrent (AC), positive direct current (DC+), and negative direct current(DC−).

FIG. 5 illustrates an example embodiment of a mock welding tool (MWT)160 of the system 100 of FIG. 1. The MWT 160 of FIG. 5 simulates a stickwelding tool for plate and pipe welding and includes a holder 161 and asimulated stick electrode 162. A trigger on the MWD 160 is used tocommunicate a signal to the PPS 110 to activate a selected simulatedwelding process. The simulated stick electrode 162 includes a tactilelyresistive tip 163 to simulate resistive feedback that occurs during, forexample, a root pass welding procedure in real-world pipe welding orwhen welding a plate. If the user moves the simulated stick electrode162 too far back out of the root, the user will be able to feel or sensethe lower resistance, thereby deriving feedback for use in adjusting ormaintaining the current welding process.

It is contemplated that the stick welding tool may incorporate anactuator, not shown, that withdraws the simulated stick electrode 162during the virtual welding process. That is to say that as a userengages in virtual welding activity, the distance between holder 161 andthe tip of the simulated stick electrode 162 is reduced to simulateconsumption of the electrode. The consumption rate, i.e. withdrawal ofthe stick electrode 162, may be controlled by the PPS 110 and morespecifically by coded instructions executed by the PPS 110. Thesimulated consumption rate may also depend on the user's technique. Itis noteworthy to mention here that as the system 100 facilitates virtualwelding with different types of electrodes, the consumption rate orreduction of the stick electrode 162 may change with the weldingprocedure used and/or setup of the system 100.

Other mock welding tools are possible as well, in accordance with otherembodiments of the present invention, including a MWD that simulates ahand-held semi-automatic welding gun having a wire electrode fed throughthe gun, for example. Furthermore, in accordance with other certainembodiments of the present invention, a real welding tool could be usedas the MWT 160 to better simulate the actual feel of the tool in theuser's hands, even though, in the system 100, the tool would not be usedto actually create a real arc. Also, a simulated grinding tool may beprovided, for use in a simulated grinding mode of the simulator 100.Similarly, a simulated cutting tool may be provided, for use in asimulated cutting mode of the simulator 100. Furthermore, a simulatedgas tungsten arc welding (GTAW) torch or filler material may be providedfor use in the simulator 100.

FIG. 6 illustrates an example embodiment of a table/stand (T/S) 170 ofthe system 100 of FIG. 1. The T/S 170 includes an adjustable table 171,a stand or base 172, an adjustable arm 173, and a vertical post 174. Thetable 171, the stand 172, and the arm 173 are each attached to thevertical post 174. The table 171 and the arm 173 are each capable ofbeing manually adjusted upward, downward, and rotationally with respectto the vertical post 174. The arm 173 is used to hold various weldingcoupons (e.g., welding coupon 175) and a user may rest his/her arm onthe table 171 when training. The vertical post 174 is indexed withposition information such that a user may know exactly where the arm 173and the table 171 are vertically positioned on the post 171. Thisvertical position information may be entered into the system by a userusing the WUI 130 and the ODD 150.

In accordance with an alternative embodiment of the present invention,the positions of the table 171 and the arm 173 may be automatically setby the PSS 110 via preprogrammed settings, or via the WUI 130 and/or theODD 150 as commanded by a user. In such an alternative embodiment, theT/S 170 includes, for example, motors and/or servo-mechanisms, andsignal commands from the PPS 110 activate the motors and/orservo-mechanisms. In accordance with a further alternative embodiment ofthe present invention, the positions of the table 171 and the arm 173and the type of coupon are detected by the system 100. In this way, auser does not have to manually input the position information via theuser interface. In such an alternative embodiment, the T/S 170 includesposition and orientation detectors and sends signal commands to the PPS110 to provide position and orientation information, and the WC 175includes position detecting sensors (e.g., coiled sensors for detectingmagnetic fields). A user is able to see a rendering of the T/S 170adjust on the ODD 150 as the adjustment parameters are changed, inaccordance with an embodiment of the present invention.

FIG. 7A illustrates an example embodiment of a pipe welding coupon (WC)175 of the system 100 of FIG. 1. The WC 175 simulates two six inchdiameter pipes 175′ and 175″ placed together to form a root 176 to bewelded. The WC 175 includes a connection portion 177 at one end of theWC 175, allowing the WC 175 to be attached in a precise and repeatablemanner to the arm 173. FIG. 7B illustrates the pipe WC 175 of FIG. 7Amounted on the arm 173 of the table/stand (TS) 170 of FIG. 6. Theprecise and repeatable manner in which the WC 175 is capable of beingattached to the arm 173 allows for spatial calibration of the WC 175 tobe performed only once at the factory. Then, in the field, as long asthe system 100 is told the position of the arm 173, the system 100 isable to track the MWT 160 and the FMDD 140 with respect to the WC 175 ina virtual environment. A first portion of the arm 173, to which the WC175 is attached, is capable of being tilted with respect to a secondportion of the arm 173, as shown in FIG. 6. This allows the user topractice pipe welding with the pipe in any of several differentorientations and angles.

FIG. 8 illustrates various elements of an example embodiment of thespatial tracker (ST) 120 of FIG. 1. The ST 120 is a magnetic trackerthat is capable of operatively interfacing with the PPS 110 of thesystem 100. The ST 120 includes a magnetic source 121 and source cable,at least one sensor 122 and associated cable, host software on disk 123,a power source 124 and associated cable, USB and RS-232 cables 125, anda processor tracking unit 126. The magnetic source 121 is capable ofbeing operatively connected to the processor tracking unit 126 via acable. The sensor 122 is capable of being operatively connected to theprocessor tracking unit 126 via a cable. The power source 124 is capableof being operatively connected to the processor tracking unit 126 via acable. The processor tracking unit 126 is cable of being operativelyconnected to the PPS 110 via a USB or RS-232 cable 125. The hostsoftware on disk 123 is capable of being loaded onto the PPS 110 andallows functional communication between the ST 120 and the PPS 110.

Referring to FIG. 6, the magnetic source 121 of the ST 120 is mounted onthe first portion of the arm 173. The magnetic source 121 creates amagnetic field around the source 121, including the space encompassingthe WC 175 attached to the arm 173, which establishes a 3D spatial frameof reference. The T/S 170 is largely non-metallic (non-ferric andnon-conductive) so as not to distort the magnetic field created by themagnetic source 121. The sensor 122 includes three induction coilsorthogonally aligned along three spatial directions. The induction coilsof the sensor 122 each measure the strength of the magnetic field ineach of the three directions and provide that information to theprocessor tracking unit 126. As a result, the system 100 is able to knowwhere any portion of the WC 175 is with respect to the 3D spatial frameof reference established by the magnetic field when the WC 175 ismounted on the arm 173. The sensor 122 may be attached to the MWT 160 orto the FMDD 140, allowing the MWT 160 or the FMDD 140 to be tracked bythe ST 120 with respect to the 3D spatial frame of reference in bothspace and orientation. When two sensors 122 are provided and operativelyconnected to the processor tracking unit 126, both the MWT 160 and theFMDD 140 may be tracked. In this manner, the system 100 is capable ofcreating a virtual WC, a virtual MWT, and a virtual T/S in virtualreality space and displaying the virtual WC, the virtual MWT, and thevirtual T/S on the FMDD 140 and/or the ODD 150 as the MWT 160 and theFMDD 140 are tracked with respect to the 3D spatial frame of reference.

In accordance with an alternative embodiment of the present invention,the sensor(s) 122 may wirelessly interface to the processor trackingunit 126, and the processor tracking unit 126 may wirelessly interfaceto the PPS 110. In accordance with other alternative embodiments of thepresent invention, other types of spatial trackers 120 may be used inthe system 100 including, for example, an accelerometer/gyroscope-basedtracker, an optical tracker (active or passive), an infrared tracker, anacoustic tracker, a laser tracker, a radio frequency tracker, aninertial tracker, and augmented reality based tracking systems. Othertypes of trackers may be possible as well.

FIG. 9A illustrates an example embodiment of the face-mounted displaydevice 140 (FMDD) of the system 100 of FIG. 1. FIG. 9B is anillustration of how the FMDD 140 of FIG. 9A is secured on the head of auser. FIG. 9C illustrates an example embodiment of the FMDD 140 of FIG.9A integrated into a welding helmet 900. The FMDD 140 operativelyconnects to the PPS 110 and the ST 120 either via wired means orwirelessly. A sensor 122 of the ST 120 may be attached to the FMDD 140or to the welding helmet 900, in accordance with various embodiments ofthe present invention, allowing the FMDD 140 and/or welding helmet 900to be tracked with respect to the 3D spatial frame of reference createdby the ST 120.

In accordance with an embodiment of the present invention, the FMDD 140includes two high-contrast SVGA 3D OLED microdisplays capable ofdelivering fluid full-motion video in the 2D and frame sequential videomodes. Video of the virtual reality environment is provided anddisplayed on the FMDD 140. A zoom (e.g., 2X) mode may be provided,allowing a user to simulate a cheater lens, for example.

The FMDD 140 further includes two earbud speakers 910, allowing the userto hear simulated welding-related and environmental sounds produced bythe system 100. The FMDD 140 may operatively interface to the PPS 110via wired or wireless means, in accordance with various embodiments ofthe present invention. In accordance with an embodiment of the presentinvention, the PPS 110 provides stereoscopic video to the FMDD 140,providing enhanced depth perception to the user. In accordance with analternate embodiment of the present invention, a user is able to use acontrol on the MWT 160 (e.g., a button or switch) to call up and selectmenus and display options on the FMDD 140. This may allow the user toeasily reset a weld if he makes a mistake, change certain parameters, orback up a little to re-do a portion of a weld bead trajectory, forexample.

FIG. 10 illustrates an example embodiment of a subsystem block diagramof the programmable processor-based subsystem (PPS) 110 of the system100 of FIG. 1. The PPS 110 includes a central processing unit (CPU) 111and two graphics processing units (GPU) 115, in accordance with anembodiment of the present invention. The two GPUs 115 are programmed toprovide virtual reality simulation of a weld puddle (a.k.a. a weld pool)having real-time molten metal fluidity and heat absorption anddissipation characteristics, in accordance with an embodiment of thepresent invention.

FIG. 11 illustrates an example embodiment of a block diagram of agraphics processing unit (GPU) 115 of the PPS 110 of FIG. 10. Each GPU115 supports the implementation of data parallel algorithms. Inaccordance with an embodiment of the present invention, each GPU 115provides two video outputs 118 and 119 capable of providing two virtualreality views. Two of the video outputs may be routed to the FMDD 140,rendering the welder's point of view, and a third video output may berouted to the ODD 150, for example, rendering either the welder's pointof view or some other point of view. The remaining fourth video outputmay be routed to a projector, for example. Both GPUs 115 perform thesame welding physics computations but may render the virtual realityenvironment from the same or different points of view. The GPU 115includes a compute unified device architecture (CUDA) 116 and a shader117. The CUDA 116 is the computing engine of the GPU 115 which isaccessible to software developers through industry standard programminglanguages. The CUDA 116 includes parallel cores and is used to run thephysics model of the weld puddle simulation described herein. The CPU111 provides real-time welding input data to the CUDA 116 on the GPU115. The shader 117 is responsible for drawing and applying all of thevisuals of the simulation. Bead and puddle visuals are driven by thestate of a wexel displacement map which is described later herein. Inaccordance with an embodiment of the present invention, the physicsmodel runs and updates at a rate of about 30 times per second.

FIG. 12 illustrates an example embodiment of a functional block diagramof the system 100 of FIG. 1. The various functional blocks of the system100 as shown in FIG. 12 are implemented largely via softwareinstructions and modules running on the PPS 110. The various functionalblocks of the system 100 include a physical interface 1201, torch andclamp models 1202, environment models 1203, sound content functionality1204, welding sounds 1205, stand/table model 1206, internal architecturefunctionality 1207, calibration functionality 1208, coupon models 1210,welding physics 1211, internal physics adjustment tool (tweaker) 1212,graphical user interface functionality 1213, graphing functionality1214, student reports functionality 1215, renderer 1216, bead rendering1217, 3D textures 1218, visual cues functionality 1219, scoring andtolerance functionality 1220, tolerance editor 1221, and special effects1222.

The internal architecture functionality 1207 provides the higher levelsoftware logistics of the processes of the system 100 including, forexample, loading files, holding information, managing threads, turningthe physics model on, and triggering menus. The internal architecturefunctionality 1207 runs on the CPU 111, in accordance with an embodimentof the present invention. Certain real-time inputs to the PPS 110include arc location, gun position, FMDD or helmet position, gun on/offstate, and contact made state (yes/no).

The graphical user interface functionality 1213 allows a user, throughthe ODD 150 using the joystick 132 of the physical user interface 130,to set up a welding scenario. In accordance with an embodiment of thepresent invention, the set up of a welding scenario includes selecting alanguage, entering a user name, selecting a practice plate (i.e., awelding coupon), selecting a welding process (e.g., FCAW, GMAW, SMAW)and associated axial spray, pulse, or short arc methods, selecting a gastype and flow rate, selecting a type of stick electrode (e.g., 6010 or7018), and selecting a type of flux cored wire (e.g., self-shielded,gas-shielded). The set up of a welding scenario also includes selectinga table height, an arm height, an arm position, and an arm rotation ofthe T/S 170. The set up of a welding scenario further includes selectingan environment (e.g., a background environment in virtual realityspace), setting a wire feed speed, setting a voltage level, setting anamperage, selecting a polarity, and turning particular visual cues on oroff.

During a simulated welding scenario, the graphing functionality 1214gathers user performance parameters and provides the user performanceparameters to the graphical user interface functionality 1213 fordisplay in a graphical format (e.g., on the ODD 150). Trackinginformation from the ST 120 feeds into the graphing functionality 1214.The graphing functionality 1214 includes a simple analysis module (SAM)and a whip/weave analysis module (WWAM). The SAM analyzes user weldingparameters including welding travel angle, travel speed, weld angle,position, and tip to work distance by comparing the welding parametersto data stored in bead tables. The WWAM analyzes user whippingparameters including dime spacing, whip time, and puddle time. The WWAMalso analyzes user weaving parameters including width of weave, weavespacing, and weave timing. The SAM and WWAM interpret raw input data(e.g., position and orientation data) into functionally usable data forgraphing. For each parameter analyzed by the SAM and the WWAM, atolerance window is defined by parameter limits around an optimum orideal set point input into bead tables using the tolerance editor 1221,and scoring and tolerance functionality 1220 is performed.

The tolerance editor 1221 includes a weldometer which approximatesmaterial usage, electrical usage, and welding time. Furthermore, whencertain parameters are out of tolerance, welding discontinuities (i.e.,welding defects) may occur. The state of any welding discontinuities areprocessed by the graphing functionality 1214 and presented via thegraphical user interface functionality 1213 in a graphical format. Suchwelding discontinuities include improper weld size, poor bead placement,concave bead, excessive convexity, undercut, porosity, incompletefusion, slag entrapment, overfill, burnthrough, and excessive spatter.In accordance with an embodiment of the present invention, the level oramount of a discontinuity is dependent on how far away a particular userparameter is from the optimum or ideal set point.

Different parameter limits may be pre-defined for different types ofusers such as, for example, welding novices, welding experts, andpersons at a trade show. The scoring and tolerance functionality 1220provide number scores depending on how close to optimum (ideal) a useris for a particular parameter and depending on the level ofdiscontinuities or defects present in the weld. The optimum values arederived from real-world data. Information from the scoring and tolerancefunctionality 1220 and from the graphics functionality 1214 may be usedby the student reports functionality 1215 to create a performance reportfor an instructor and/or a student.

The system 100 is capable of analyzing and displaying the results ofvirtual welding activity. By analyzing the results, it is meant thatsystem 100 is capable of determining when during the welding pass andwhere along the weld joints, the user deviated from the acceptablelimits of the welding process. A score may be attributed to the user'sperformance. In one embodiment, the score may be a function of deviationin position, orientation and speed of the mock welding tool 160 throughranges of tolerances, which may extend from an ideal welding pass tomarginal or unacceptable welding activity. Any gradient of ranges may beincorporated into the system 100 as chosen for scoring the user'sperformance. Scoring may be displayed numerically or alpha-numerically.Additionally, the user's performance may be displayed graphicallyshowing, in time and/or position along the weld joint, how closely themock welding tool traversed the weld joint. Parameters such as travelangle, work angle, speed, and distance from the weld joint are examplesof what may be measured, although any parameters may be analyzed forscoring purposes. The tolerance ranges of the parameters are taken fromreal-world welding data, thereby providing accurate feedback as to howthe user will perform in the real world. In another embodiment, analysisof the defects corresponding to the user's performance may also beincorporated and displayed on the ODD 150. In this embodiment, a graphmay be depicted indicating what type of discontinuity resulted frommeasuring the various parameters monitored during the virtual weldingactivity. While occlusions may not be visible on the ODD 150, defectsmay still have occurred as a result of the user's performance, theresults of which may still be correspondingly displayed, i.e. graphed.

Visual cues functionality 1219 provide immediate feedback to the user bydisplaying overlaid colors and indicators on the FMDD 140 and/or the ODD150. Visual cues are provided for each of the welding parameters 151including position, tip to work distance, weld angle, travel angle,travel speed, and arc length (e.g., for stick welding) and visuallyindicate to the user if some aspect of the user's welding techniqueshould be adjusted based on the predefined limits or tolerances. Visualcues may also be provided for whip/weave technique and weld bead “dime”spacing, for example. Visual cues may be set independently or in anydesired combination.

Calibration functionality 1208 provides the capability to match upphysical components in real world space (3D frame of reference) withvisual components in virtual reality space. Each different type ofwelding coupon (WC) is calibrated in the factory by mounting the WC tothe arm 173 of the T/S 170 and touching the WC at predefined points(indicated by, for example, three dimples on the WC) with a calibrationstylus operatively connected to the ST 120. The ST 120 reads themagnetic field intensities at the predefined points, provides positioninformation to the PPS 110, and the PPS 110 uses the positioninformation to perform the calibration (i.e., the translation from realworld space to virtual reality space).

Any particular type of WC fits into the arm 173 of the T/S 170 in thesame repeatable way to within very tight tolerances. Therefore, once aparticular WC type is calibrated, that WC type does not have to bere-calibrated (i.e., calibration of a particular type of WC is aone-time event). WCs of the same type are interchangeable. Calibrationensures that physical feedback perceived by the user during a weldingprocess matches up with what is displayed to the user in virtual realityspace, making the simulation seem more real. For example, if the userslides the tip of a MWT 160 around the corner of a actual WC 180, theuser will see the tip sliding around the corner of the virtual WC on theFMDD 140 as the user feels the tip sliding around the actual corner. Inaccordance with an embodiment of the present invention, the MWT 160 isplaced in a pre-positioned jig and is calibrated as well, based on theknown jig position.

In accordance with an alternative embodiment of the present invention,“smart” coupons are provided, having sensors on, for example, thecorners of the coupons. The ST 120 is able to track the corners of a“smart” coupon such that the system 100 continuously knows where the“smart” coupon is in real world 3D space. In accordance with a furtheralternative embodiment of the present invention, licensing keys areprovided to “unlock” welding coupons. When a particular WC is purchased,a licensing key is provided allowing the user to enter the licensing keyinto the system 100, unlocking the software associated with that WC. Inaccordance with another embodiment of the present invention, specialnon-standard welding coupons may be provided based on real-world CADdrawings of parts. Users may be able to train on welding a CAD part evenbefore the part is actually produced in the real world.

Sound content functionality 1204 and welding sounds 1205 provideparticular types of welding sounds that change depending on if certainwelding parameters are within tolerance or out of tolerance. Sounds aretailored to the various welding processes and parameters. For example,in a MIG spray arc welding process, a crackling sound is provided whenthe user does not have the MWT 160 positioned correctly, and a hissingsound is provided when the MWT 160 is positioned correctly. In a shortarc welding process, a steady crackling or frying sound is provided forproper welding technique, and a hissing sound may be provided whenundercutting is occurring. These sounds mimic real world soundscorresponding to correct and incorrect welding technique.

High fidelity sound content may be taken from real world recordings ofactual welding using a variety of electronic and mechanical means, inaccordance with various embodiments of the present invention. Inaccordance with an embodiment of the present invention, the perceivedvolume and directionality of sound is modified depending on theposition, orientation, and distance of the user's head (assuming theuser is wearing a FMDD 140 that is tracked by the ST 120) with respectto the simulated arc between the MWT 160 and the WC 180. Sound may beprovided to the user via ear bud speakers 910 in the FMDD 140 or viaspeakers configured in the console 135 or T/S 170, for example.

Environment models 1203 are provided to provide various backgroundscenes (still and moving) in virtual reality space. Such backgroundenvironments may include, for example, an indoor welding shop, anoutdoor race track, a garage, etc. and may include moving cars, people,birds, clouds, and various environmental sounds. The backgroundenvironment may be interactive, in accordance with an embodiment of thepresent invention. For example, a user may have to survey a backgroundarea, before starting welding, to ensure that the environment isappropriate (e.g., safe) for welding. Torch and clamp models 1202 areprovided which model various MWTs 160 including, for example, guns,holders with stick electrodes, etc. in virtual reality space.

Coupon models 1210 are provided which model various WCs 180 including,for example, flat plate coupons, T-joint coupons, butt-joint coupons,groove-weld coupons, and pipe coupons (e.g., 2-inch diameter pipe and6-inch diameter pipe) in virtual reality space. A stand/table model 1206is provided which models the various parts of the T/S 170 including anadjustable table 171, a stand 172, an adjustable arm 173, and a verticalpost 174 in virtual reality space. A physical interface model 1201 isprovided which models the various parts of the welding user interface130, console 135, and ODD 150 in virtual reality space.

In accordance with an embodiment of the present invention, simulation ofa weld puddle or pool in virtual reality space is accomplished where thesimulated weld puddle has real-time molten metal fluidity and heatdissipation characteristics. At the heart of the weld puddle simulationis the welding physics functionality 1211 (a.k.a., the physics model)which is run on the GPUs 115, in accordance with an embodiment of thepresent invention. The welding physics functionality employs a doubledisplacement layer technique to accurately model dynamicfluidity/viscosity, solidity, heat gradient (heat absorption anddissipation), puddle wake, and bead shape, and is described in moredetail herein with respect to FIGS. 14A-14C.

The welding physics functionality 1211 communicates with the beadrendering functionality 1217 to render a weld bead in all states fromthe heated molten state to the cooled solidified state. The beadrendering functionality 1217 uses information from the welding physicsfunctionality 1211 (e.g., heat, fluidity, displacement, dime spacing) toaccurately and realistically render a weld bead in virtual reality spacein real-time. The 3D textures functionality 1218 provides texture mapsto the bead rendering functionality 1217 to overlay additional textures(e.g., scorching, slag, grain) onto the simulated weld bead. Forexample, slag may be shown rendered over a weld bead during and justafter a welding process, and then removed to reveal the underlying weldbead. The renderer functionality 1216 is used to render variousnon-puddle specific characteristics using information from the specialeffects module 1222 including sparks, spatter, smoke, arc glow, fumesand gases, and certain discontinuities such as, for example, undercutand porosity.

The internal physics adjustment tool 1212 is a tweaking tool that allowsvarious welding physics parameters to be defined, updated, and modifiedfor the various welding processes. In accordance with an embodiment ofthe present invention, the internal physics adjustment tool 1212 runs onthe CPU 111 and the adjusted or updated parameters are downloaded to theGPUs 115. The types of parameters that may be adjusted via the internalphysics adjustment tool 1212 include parameters related to weldingcoupons, process parameters that allow a process to be changed withouthaving to reset a welding coupon (allows for doing a second pass),various global parameters that can be changed without resetting theentire simulation, and other various parameters.

FIG. 13 is a flow chart of an embodiment of a method 1300 of trainingusing the virtual reality training system 100 of FIG. 1. In step 1310,move a mock welding tool with respect to a welding coupon in accordancewith a welding technique. In step 1320, track position and orientationof the mock welding tool in three-dimensional space using a virtualreality system. In step 1330, view a display of the virtual realitywelding system showing a real-time virtual reality simulation of themock welding tool and the welding coupon in a virtual reality space asthe simulated mock welding tool deposits a simulated weld bead materialonto at least one simulated surface of the simulated welding coupon byforming a simulated weld puddle in the vicinity of a simulated arcemitting from said simulated mock welding tool. In step 1340, view onthe display, real-time molten metal fluidity and heat dissipationcharacteristics of the simulated weld puddle. In step 1350, modify inreal-time, at least one aspect of the welding technique in response toviewing the real-time molten metal fluidity and heat dissipationcharacteristics of the simulated weld puddle.

The method 1300 illustrates how a user is able to view a weld puddle invirtual reality space and modify his welding technique in response toviewing various characteristics of the simulated weld puddle, includingreal-time molten metal fluidity (e.g., viscosity) and heat dissipation.The user may also view and respond to other characteristics includingreal-time puddle wake and dime spacing. Viewing and responding tocharacteristics of the weld puddle is how most welding operations areactually performed in the real world. The double displacement layermodeling of the welding physics functionality 1211 run on the GPUs 115allows for such real-time molten metal fluidity and heat dissipationcharacteristics to be accurately modeled and represented to the user.For example, heat dissipation determines solidification time (i.e., howmuch time it takes for a wexel to completely solidify).

Furthermore, a user may make a second pass over the weld bead materialusing the same or a different (e.g., a second) mock welding tool and/orwelding process. In such a second pass scenario, the simulation showsthe simulated mock welding tool, the welding coupon, and the originalsimulated weld bead material in virtual reality space as the simulatedmock welding tool deposits a second simulated weld bead material mergingwith the first simulated weld bead material by forming a secondsimulated weld puddle in the vicinity of a simulated arc emitting fromthe simulated mock welding tool. Additional subsequent passes using thesame or different welding tools or processes may be made in a similarmanner. In any second or subsequent pass, the previous weld beadmaterial is merged with the new weld bead material being deposited as anew weld puddle is formed in virtual reality space from the combinationof any of the previous weld bead material, the new weld bead material,and possibly the underlying coupon material in accordance with certainembodiments of the present invention. Such subsequent passes may beneeded to make a large fillet or groove weld, performed to repair a weldbead formed by a previous pass, for example, or may include a hot passand one or more fill and cap passes after a root pass as is done in pipewelding. In accordance with various embodiments of the presentinvention, weld bead and base material may include mild steel, stainlesssteel, aluminum, nickel based alloys, or other materials.

FIGS. 14A-14B illustrate the concept of a welding element (wexel)displacement map 1420, in accordance with an embodiment of the presentinvention. FIG. 14A shows a side view of a flat welding coupon (WC) 1400having a flat top surface 1410. The welding coupon 1400 exists in thereal world as, for example, a plastic part, and also exists in virtualreality space as a simulated welding coupon. FIG. 14B shows arepresentation of the top surface 1410 of the simulated WC 1400 brokenup into a grid or array of welding elements (i.e., wexels) forming awexel map 1420. Each wexel (e.g., wexel 1421) defines a small portion ofthe surface 1410 of the welding coupon. The wexel map defines thesurface resolution. Changeable channel parameter values are assigned toeach wexel, allowing values of each wexel to dynamically change inreal-time in virtual reality weld space during a simulated weldingprocess. The changeable channel parameter values correspond to thechannels Puddle (molten metal fluidity/viscosity displacement), Heat(heat absorption/dissipation), Displacement (solid displacement), andExtra (various extra states, e.g., slag, grain, scorching, virginmetal). These changeable channels are referred to herein as PHED forPuddle, Heat, Extra, and Displacement, respectively.

FIG. 15 illustrates an example embodiment of a coupon space and a weldspace of the flat welding coupon (WC) 1400 of FIG. 14 simulated in thesystem 100 of FIG. 1. Points O, X, Y, and Z define the local 3D couponspace. In general, each coupon type defines the mapping from 3D couponspace to 2D virtual reality weld space. The wexel map 1420 of FIG. 14 isa two-dimensional array of values that map to weld space in virtualreality. A user is to weld from point B to point E as shown in FIG. 15.A trajectory line from point B to point E is shown in both 3D couponspace and 2D weld space in FIG. 15.

Each type of coupon defines the direction of displacement for eachlocation in the wexel map. For the flat welding coupon of FIG. 15, thedirection of displacement is the same at all locations in the wexel map(i.e., in the Z-direction). The texture coordinates of the wexel map areshown as S, T (sometimes called U, V) in both 3D coupon space and 2Dweld space, in order to clarify the mapping. The wexel map is mapped toand represents the rectangular surface 1410 of the welding coupon 1400.

FIG. 16 illustrates an example embodiment of a coupon space and a weldspace of a corner (tee joint) welding coupon (WC) 1600 simulated in thesystem 100 of FIG. 1. The corner WC 1600 has two surfaces 1610 and 1620in 3D coupon space that are mapped to 2D weld space as shown in FIG. 16.Again, points O, X, Y, and Z define the local 3D coupon space. Thetexture coordinates of the wexel map are shown as S, T in both 3D couponspace and 2D weld space, in order to clarify the mapping. A user is toweld from point B to point E as shown in FIG. 16. A trajectory line frompoint B to point E is shown in both 3D coupon space and 2D weld space inFIG. 16. However, the direction of displacement is towards the lineX′-O′ as shown in the 3D coupon space, towards the opposite corner asshown in FIG. 16.

FIG. 17 illustrates an example embodiment of a coupon space and a weldspace of a pipe welding coupon (WC) 1700 simulated in the system 100 ofFIG. 1. The pipe WC 1700 has a curved surface 1710 in 3D coupon spacethat is mapped to 2D weld space as shown in FIG. 17. Again, points O, X,Y, and Z define the local 3D coupon space. The texture coordinates ofthe wexel map are shown as S, T in both 3D coupon space and 2D weldspace, in order to clarify the mapping. A user is to weld from point Bto point E along a curved trajectory as shown in FIG. 17. A trajectorycurve and line from point B to point E is shown in 3D coupon space and2D weld space, respectively, in FIG. 17. The direction of displacementis away from the line Y-O (i.e., away from the center of the pipe). FIG.18 illustrates an example embodiment of the pipe welding coupon (WC)1700 of FIG. 17. The pipe WC 1700 is made of a non-ferric,non-conductive plastic and simulates two pipe pieces 1701 and 1702coming together to form a root joint 1703. An attachment piece 1704 forattaching to the arm 173 of the T/S 170 is also shown.

In a similar manner that a texture map may be mapped to a rectangularsurface area of a geometry, a weldable wexel map may be mapped to arectangular surface of a welding coupon. Each element of the weldablemap is termed a wexel in the same sense that each element of a pictureis termed a pixel (a contraction of picture element). A pixel containschannels of information that define a color (e.g., red, green, blue,etc.). A wexel contains channels of information (e.g., P, H, E, D) thatdefine a weldable surface in virtual reality space.

In accordance with an embodiment of the present invention, the format ofa wexel is summarized as channels PHED (Puddle, Heat, Extra,Displacement) which contains four floating point numbers. The Extrachannel is treated as a set of bits which store logical informationabout the wexel such as, for example, whether or not there is any slagat the wexel location. The Puddle channel stores a displacement valuefor any liquefied metal at the wexel location. The Displacement channelstores a displacement value for the solidified metal at the wexellocation. The Heat channel stores a value giving the magnitude of heatat the wexel location. In this way, the weldable part of the coupon canshow displacement due to a welded bead, a shimmering surface “puddle”due to liquid metal, color due to heat, etc. All of these effects areachieved by the vertex and pixel shaders applied to the weldablesurface.

In accordance with an embodiment of the present invention, adisplacement map and a particle system are used where the particles caninteract with each other and collide with the displacement map. Theparticles are virtual dynamic fluid particles and provide the liquidbehavior of the weld puddle but are not rendered directly (i.e., are notvisually seen directly). Instead, only the particle effects on thedisplacement map are visually seen. Heat input to a wexel affects themovement of nearby particles. There are two types of displacementinvolved in simulating a welding puddle which include Puddle andDisplacement. Puddle is “temporary” and only lasts as long as there areparticles and heat present. Displacement is “permanent”. Puddledisplacement is the liquid metal of the weld which changes rapidly(e.g., shimmers) and can be thought of as being “on top” of theDisplacement. The particles overlay a portion of a virtual surfacedisplacement map (i.e., a wexel map). The Displacement represents thepermanent solid metal including both the initial base metal and the weldbead that has solidified.

In accordance with an embodiment of the present invention, the simulatedwelding process in virtual reality space works as follows: Particlesstream from the emitter (emitter of the simulated MWT 160) in a thincone. The particles make first contact with the surface of the simulatedwelding coupon where the surface is defined by a wexel map. Theparticles interact with each other and the wexel map and build up inreal-time. More heat is added the nearer a wexel is to the emitter. Heatis modeled in dependence on distance from the arc point and the amountof time that heat is input from the arc. Certain visuals (e.g., color,etc.) are driven by the heat. A weld puddle is drawn or rendered invirtual reality space for wexels having enough heat. Wherever it is hotenough, the wexel map liquefies, causing the Puddle displacement to“raise up” for those wexel locations. Puddle displacement is determinedby sampling the “highest” particles at each wexel location. As theemitter moves on along the weld trajectory, the wexel locations leftbehind cool. Heat is removed from a wexel location at a particular rate.When a cooling threshold is reached, the wexel map solidifies. As such,the Puddle displacement is gradually converted to Displacement (i.e., asolidified bead). Displacement added is equivalent to Puddle removedsuch that the overall height does not change. Particle lifetimes aretweaked or adjusted to persist until solidification is complete. Certainparticle properties that are modeled in the system 100 includeattraction/repulsion, velocity (related to heat), dampening (related toheat dissipation), direction (related to gravity).

FIGS. 19A-19C illustrate an example embodiment of the concept of adual-displacement (displacement and particles) puddle model of thesystem 100 of FIG. 1. Welding coupons are simulated in virtual realityspace having at least one surface. The surfaces of the welding couponare simulated in virtual reality space as a double displacement layerincluding a solid displacement layer and a puddle displacement layer.The puddle displacement layer is capable of modifying the soliddisplacement layer.

As described herein, “puddle” is defined by an area of the wexel mapwhere the Puddle value has been raised up by the presence of particles.The sampling process is represented in FIGS. 19A-19C. A section of awexel map is shown having seven adjacent wexels. The currentDisplacement values are represented by un-shaded rectangular bars 1910of a given height (i.e., a given displacement for each wexel). In FIG.19A, the particles 1920 are shown as round un-shaded dots colliding withthe current Displacement levels and are piled up. In FIG. 19B, the“highest” particle heights 1930 are sampled at each wexel location. InFIG. 19C, the shaded rectangles 1940 show how much Puddle has been addedon top of the Displacement as a result of the particles. The weld puddleheight is not instantly set to the sampled values since Puddle is addedat a particular liquification rate based on Heat. Although not shown inFIGS. 19A-19C, it is possible to visualize the solidification process asthe Puddle (shaded rectangles) gradually shrink and the Displacement(un-shaded rectangles) gradually grow from below to exactly take theplace of the Puddle. In this manner, real-time molten metal fluiditycharacteristics are accurately simulated. As a user practices aparticular welding process, the user is able to observe the molten metalfluidity characteristics and the heat dissipation characteristics of theweld puddle in real-time in virtual reality space and use thisinformation to adjust or maintain his welding technique.

The number of wexels representing the surface of a welding coupon isfixed. Furthermore, the puddle particles that are generated by thesimulation to model fluidity are temporary, as described herein.Therefore, once an initial puddle is generated in virtual reality spaceduring a simulated welding process using the system 100, the number ofwexels plus puddle particles tends to remain relatively constant. Thisis because the number of wexels that are being processed is fixed andthe number of puddle particles that exist and are being processed duringthe welding process tend to remain relatively constant because puddleparticles are being created and “destroyed” at a similar rate (i.e., thepuddle particles are temporary). Therefore, the processing load of thePPS 110 remains relatively constant during a simulated welding session.

In accordance with an alternate embodiment of the present invention,puddle particles may be generated within or below the surface of thewelding coupon. In such an embodiment, displacement may be modeled asbeing positive or negative with respect to the original surfacedisplacement of a virgin (i.e., un-welded) coupon. In this manner,puddle particles may not only build up on the surface of a weldingcoupon, but may also penetrate the welding coupon. However, the numberof wexels is still fixed and the puddle particles being created anddestroyed is still relatively constant.

In accordance with alternate embodiments of the present invention,instead of modeling particles, a wexel displacement map may be providedhaving more channels to model the fluidity of the puddle. Or, instead ofmodeling particles, a dense voxel map may be modeled. Or, instead of awexel map, only particles may be modeled which are sampled and never goaway. Such alternative embodiments may not provide a relatively constantprocessing load for the system, however.

Furthermore, in accordance with an embodiment of the present invention,blowthrough or a keyhole is simulated by taking material away. Forexample, if a user keeps an arc in the same location for too long, inthe real world, the material would burn away causing a hole. Suchreal-world burnthrough is simulated in the system 100 by wexeldecimation techniques. If the amount of heat absorbed by a wexel isdetermined to be too high by the system 100, that wexel may be flaggedor designated as being burned away and rendered as such (e.g., renderedas a hole). Subsequently, however, wexel re-constitution may occur forcertain welding process (e.g., pipe welding) where material is addedback after being initially burned away. In general, the system 100simulates wexel decimation (taking material away) and wexelreconstitution (i.e., adding material back). Furthermore, removingmaterial in root-pass welding is properly simulated in the system 100.

Furthermore, removing material in root-pass welding is properlysimulated in the system 100. For example, in the real world, grinding ofthe root pass may be performed prior to subsequent welding passes.Similarly, system 100 may simulate a grinding pass that removes materialfrom the virtual weld joint. It will be appreciated that the materialremoved may be modeled as a negative displacement on the wexel map. Thatis to say that the grinding pass removes material that is modeled by thesystem 100 resulting in an altered bead contour. Simulation of thegrinding pass may be automatic, which is to say that the system 100removes a predetermined thickness of material, which may be respectiveto the surface of the root pass weld bead.

In an alternative embodiment, an actual grinding tool, or grinder, maybe simulated that turns on and off by activation of the mock weldingtool 160 or another input device. It is noted that the grinding tool maybe simulated to resemble a real world grinder. In this embodiment, theuser maneuvers the grinding tool along the root pass to remove materialresponsive to the movement thereof. It will be understood that the usermay be allowed to remove too much material. In a manner similar to thatdescribed above, holes or other defects (described above) may result ifthe user grinds away too much material. Still, hard limits or stops maybe implemented, i.e. programmed, to prevent the user from removing toomuch material or indicate when too much material is being removed.

In addition to the non-visible “puddle” particles described herein, thesystem 100 also uses three other types of visible particles to representArc, Flame, and Spark effects, in accordance with an embodiment of thepresent invention. These types of particles do not interact with otherparticles of any type but interact only with the displacement map. Whilethese particles do collide with the simulated weld surface, they do notinteract with each other. Only Puddle particles interact with eachother, in accordance with an embodiment of the present invention. Thephysics of the Spark particles is setup such that the Spark particlesbounce around and are rendered as glowing dots in virtual reality space.

The physics of the Arc particles is setup such that the Arc particleshit the surface of the simulated coupon or weld bead and stay for awhile. The Arc particles are rendered as larger dim bluish-white spotsin virtual reality space. It takes many such spots superimposed to formany sort of visual image. The end result is a white glowing nimbus withblue edges.

The physics of the Flame particles is modeled to slowly raise upward.The Flame particles are rendered as medium sized dim red-yellow spots.It takes many such spots superimposed to form any sort of visual image.The end result is blobs of orange-red flames with red edges raisingupward and fading out. Other types of non-puddle particles may beimplemented in the system 100, in accordance with other embodiments ofthe present invention. For example, smoke particles may be modeled andsimulated in a similar manner to flame particles.

The final steps in the simulated visualization are handled by the vertexand pixel shaders provided by the shaders 117 of the GPUs 115. Thevertex and pixel shaders apply Puddle and Displacement, as well assurface colors and reflectivity altered due to heat, etc. The Extra (E)channel of the PHED wexel format, as discussed earlier herein, containsall of the extra information used per wexel. In accordance with anembodiment of the present invention, the extra information includes anon virgin bit (true=bead, false=virgin steel), a slag bit, an undercutvalue (amount of undercut at this wexel where zero equals no undercut),a porosity value (amount of porosity at this wexel where zero equals noporosity), and a bead wake value which encodes the time at which thebead solidifies. There are a set of image maps associated with differentcoupon visuals including virgin steel, slag, bead, and porosity. Theseimage maps are used both for bump mapping and texture mapping. Theamount of blending of these image maps is controlled by the variousflags and values described herein.

A bead wake effect is achieved using a 1D image map and a per wexel beadwake value that encodes the time at which a given bit of bead issolidified. Once a hot puddle wexel location is no longer hot enough tobe called “puddle”, a time is saved at that location and is called “beadwake”. The end result is that the shader code is able to use the 1Dtexture map to draw the “ripples” that give a bead its unique appearancewhich portrays the direction in which the bead was laid down. Inaccordance with an alternative embodiment of the present invention, thesystem 100 is capable of simulating, in virtual reality space, anddisplaying a weld bead having a real-time weld bead wake characteristicresulting from a real-time fluidity-to-solidification transition of thesimulated weld puddle, as the simulated weld puddle is moved along aweld trajectory.

In accordance with an alternative embodiment of the present invention,the system 100 is capable of teaching a user how to troubleshoot awelding machine. For example, a troubleshooting mode of the system maytrain a user to make sure he sets up the system correctly (e.g., correctgas flow rate, correct power cord connected, etc.) In accordance withanother alternate embodiment of the present invention, the system 100 iscapable of recording and playing back a welding session (or at least aportion of a welding session, for example, N frames). A track ball maybe provided to scroll through frames of video, allowing a user orinstructor to critique a welding session. Playback may be provided atselectable speeds as well (e.g., full speed, half speed, quarter speed).In accordance with an embodiment of the present invention, asplit-screen playback may be provided, allowing two welding sessions tobe viewed side-by-side, for example, on the ODD 150. For example, a“good” welding session may be viewed next to a “poor” welding sessionfor comparison purposes.

Importing and Analyzing External Data

In accordance with certain embodiments, external data may be importedinto the virtual reality welding system and analyzed to helpcharacterize, for example, a student welder's progress and to aid in thetraining of the student welder.

One embodiment provides a method of importing and analyzing data. Themethod includes importing a first data set of welding qualityparameters, being representative of a quality of a weld generated by astudent welder during a real-world welding activity corresponding to adefined welding process, into a virtual reality welding system. Themethod also includes comparing a second data set of welding qualityparameters stored on the virtual reality simulator, being representativeof a quality of a virtual weld generated by the student welder during asimulated welding activity corresponding to the defined welding processon the virtual reality welding system, to the first data set using aprogrammable processor-based subsystem of the virtual reality weldingsystem. The method further includes generating a numerical comparisonscore in response to the comparing using the programmableprocessor-based subsystem of the virtual reality welding system. Thenumerical comparison score may be representative of a total deviation inweld quality between the first data set and the second data set. Themethod may also include importing a third data set of welding qualityparameters, being representative of a quality of an ideal weld generatedby an expert welder during a real-world welding activity correspondingto the defined welding process, into the virtual reality welding system.The expert welder may be a robotic welder or a human welder, forexample. The method may further include comparing the second data set tothe third data set using the programmable processor-based subsystem ofthe virtual reality welding system, and generating a numerical studentscore in response to the comparing using the programmableprocessor-based subsystem of the virtual reality welding system. Thenumerical student score may be representative of a total deviation inweld quality from the ideal weld, for example.

FIG. 20 illustrates the concept of importing welding quality parameters2020 into a virtual reality welding system 100 from a real-world weldingmachine 2000. The welding quality parameters 2020 may be imported intothe virtual reality welding system 100 via wired means or wireless meansthrough a communication device 2010. In accordance with an embodiment,the communication device 2010 is operatively connected to theprogrammable processor-based subsystem 110 and provides all of thecircuitry and/or software for receiving data in a digitally communicatedmanner (see FIG. 1). For example, the communication device 2010 mayinclude an Ethernet port and Ethernet-capable receiving circuitry. Asanother example, the communication device 2010 may provide a wirelessBluetooth™ communication connection. Alternatively, the communicationdevice 2010 may be a device that accepts and reads a non-transitorycomputer-readable medium such as a computer disk or a flash drive datastorage device, for example. As a further alternative embodiment, thecommunication device 2010 may be a modern device providing connection tothe internet. Other types of communication devices are possible as well,in accordance with various other embodiments.

Various types of welding quality parameters are discussed in thepublished U.S. patent application having Ser. No. 13/453,124 which isincorporated herein by reference. However, other types of weldingquality parameters may be possible as well, in accordance with otherembodiments. The welding quality parameters represent a quality of aweld generated by, for example, a student welder. Quality parameters maybe derived from measured or simulated welding parameters, as discussedlater herein. Some examples of measured or simulated welding parametersare a count of the measurements taken, a mean voltage, a root meansquare voltage, a voltage variance, a mean current, a root mean squarecurrent, a current variance, a mean wire feed speed, a root mean squarewire feed speed, and a wire feed speed variance. Some examples ofwelding quality parameters are a quality count standard deviation, aquality voltage average, a quality voltage standard deviation, a qualitycurrent average, a quality current standard deviation, a quality voltagevariance average, a quality voltage variance standard deviation, aquality current average, a quality current variance standard deviation,a quality wire feed speed average, a quality wire feed speed standarddeviation, a quality wire feed speed variance average, and a qualitywire feed speed variance standard deviation.

FIG. 21 is a flow chart of an embodiment of a method 2100 to compare astudent welder's real-world welding activity to the student welder'svirtual welding activity. In step 2110, a first data set of weldingquality parameters, being representative of a quality of a weldgenerated by a student welder during a real-world welding activitycorresponding to a defined welding process, is imported into the virtualreality welding system 100. In step 2120, a second data set of weldingquality parameters stored on the virtual reality welding system 100,being representative of a quality of a virtual weld generated by thestudent welder during a simulated welding activity corresponding to thedefined welding process on the virtual reality welding system 100, iscompared to the first data set using the programmable processor-basedsubsystem 110 of the virtual reality welding system 100. In step 2130, anumerical comparison score is generated in response to the comparingstep using the programmable processor-based subsystem 110 of the virtualreality welding system 100.

The method 2100 of FIG. 21 may represent the situation where the studentwelder, after having trained to perform the defined welding process onthe virtual reality welding system 100, transitions to a correspondingreal-world welding system 2000 and performs the same defined weldingprocess in the real-world, actually creating a real weld. Weldingquality parameters are generated and stored in both the virtualsituation and the real-world situation. The method 2100 allows thestudent welder to compare his welding performance in the real-world tohis welding performance in the virtual world, with respect to thedefined welding process. Examples of defined welding processes includegas metal arc welding (GMAW) processes, stick welding processes, fluxcored arc welding (FCAW) processes, and gas tungsten arc welding (GTAW)processes. Other types of defined welding processes are possible aswell, in accordance with various other embodiments.

The numerical comparison score may be representative of a totaldeviation in weld quality between the first data set and the second dataset. Alternatively, the numerical comparison score may be representativeof a total closeness in weld quality of the first data set to the seconddata set. For example, the numerical comparison score may be calculatedby taking a difference between each corresponding weld quality parameterfrom the virtual welding activity and the real-world welding activity,weighting each difference, and summing the weighted differences. Othermethods of generating the numerical comparison score are possible aswell, in accordance with various other embodiments. For example, thepublished U.S. patent application having Ser. No. 13/453,124 which isincorporated herein by reference discloses methods of calculating suchscores. As one example, each quality value may be compared to anexpected quality value to determine if a difference between the qualityvalue and the expected quality value exceeds a predetermined threshold.If the difference exceeds the threshold, the quality value may beweighted with a magnitude weight based on the difference, and thequality value may be weighted with a time contribution weight based on atime contribution of the state to its wave shape. All of the qualityvalues, including any weighted quality values, obtained during said arcwelding process may be used to determine the numerical score.Furthermore, the numerical comparison score may be normalized to a rangeof 0% to 100%, for example, where 0% represents a maximum deviation and100% represents a minimum deviation.

FIG. 22 is a flow chart of an embodiment of a method 2200 to compare astudent welder's virtual welding activity to an expert welder'sreal-world welding activity. In step 2210, a third data set of weldingquality parameters, being representative of a quality of an ideal weldgenerated by an expert welder during a real-world welding activitycorresponding to a defined welding process, is imported into the virtualreality welding system 100. The expert welder may be an experiencedhuman welder or a programmed robotic welder, for example. In step 2220,a second data set of welding quality parameters stored on the virtualreality system, being representative of a quality of a virtual weldgenerated by the student welder during a simulated welding activitycorresponding to the defined welding process on the virtual realitywelding system 100, is compared to the third data set using theprogrammable processor-based subsystem 110 of the virtual realitywelding system 100. In step 2230, a numerical student score is generatedin response to the comparing step using the programmable processor-basedsubsystem 110 of the virtual reality welding system 100.

The method 2200 of FIG. 22 may represent the situation where the studentwelder is learning to perform the defined welding process using thevirtual reality welding system 100, and wants to know how much progresshe is making with respect to an ideal weld created in the real-world.Again, welding quality parameters are generated and stored in both thevirtual situation and the real-world situation. The method 2200 allowsthe student welder to compare his welding performance in the virtualworld to an expert's welding performance in the real world, with respectto the defined welding process. The numerical student score, similar tothe numerical comparison score, may be representative of a totaldeviation in weld quality from the ideal weld. Alternatively, thenumerical student score may be representative of a total closeness inweld quality to the ideal weld. For example, the numerical student scoremay be calculated by taking a difference between each corresponding weldquality parameter from the student's virtual welding activity and theexpert's real-world welding activity, weighting each difference, andsumming the weighted differences. Other methods of generating thenumerical student score are possible as well, in accordance with variousother embodiments. Similar to the numerical comparison score, thenumerical student score may be normalized to a range of 0% to 100%.

Another embodiment provides a method of importing and analyzing data.The method includes importing a first data set of measured weldingparameters, generated during a real-world welding activity correspondingto a defined welding process performed by an expert welder using areal-world welding machine, into a virtual reality welding system. Theexpert welder may be a robotic welder or a human welder. The method alsoincludes storing a second data set of simulated welding parameters,generated during a simulated welding activity corresponding to thedefined welding process as performed by a student welder using thevirtual reality welding system, on the virtual reality welding system.The method further includes calculating a plurality of expert weldingquality parameters based on the first data set using the programmableprocessor-based subsystem of the virtual reality welding system. Themethod also includes calculating a plurality of student welding qualityparameters based on the second data set using the programmableprocessor-based subsystem of the virtual reality welding system. Themethod may also include comparing the plurality of expert weldingquality parameters to the plurality of student welding qualityparameters using the programmable processor-based subsystem of thevirtual reality welding system. The method may further includegenerating a numerical student score in response to the comparing usingthe programmable processor-based subsystem of the virtual realitywelding system. The numerical student score may be representative of atotal deviation in weld quality from the weld of ideal quality, forexample.

FIG. 23 illustrates the concept of importing measured welding parametersinto a virtual reality welding system 100 from a real-world weldingmachine 2000. The measured welding parameters 2320 may be imported intothe virtual reality welding system 100 via wired means or wireless meansthrough the communication device 2010. In accordance with an embodiment,the communication device 2010 is operatively connected to theprogrammable processor-based subsystem 110 and provides all of thecircuitry and/or software for receiving data in a digitally communicatedmanner (see FIG. 1). For example, the communication device 2010 mayinclude an Ethernet port and Ethernet-capable receiving circuitry. Asanother example, the communication device 2010 may provide a wirelessBluetooth™ communication connection. Alternatively, the communicationdevice 2010 may be a device that accepts and reads a non-transitorycomputer-readable medium such as a computer disk or a flash drive datastorage device, for example. As a further alternative embodiment, thecommunication device 2010 may be a modern device providing connection tothe internet. Other types of communication devices are possible as well,in accordance with various embodiments.

Various types of measured welding parameters are discussed in thepublished U.S. patent application having Ser. No. 13/453,124 which isincorporated herein by reference. However, other types of measuredwelding parameters may be possible as well, in accordance with otherembodiments. The measured welding parameters are representative ofactual welding parameters that occur during a welding activity for adefined welding process where a welding wire advances toward a workpieceto create a weld. In accordance with an embodiment, quality parametersmay be derived from measured welding parameters. Some examples ofmeasured welding parameters are a count of the measurements taken, amean voltage, a root mean square voltage, a voltage variance, a meancurrent, a root mean square current, and a current variance.

FIG. 24 is a flow chart of a first embodiment of a method 2400 ofgenerating a plurality of student welding quality parameters and anumerical student score. In step 2410, a first data set of measuredwelding parameters, generated during a real-world welding activitycorresponding to a defined welding process performed by an expert welderusing the real-world welding machine 2000, is imported into the virtualreality welding system 100. The expert welder may be an experiencedhuman welder or a robotic welder, for example. In step 2420, a seconddata set of simulated welding parameters, generated during a simulatedwelding activity corresponding to the defined welding process asperformed by a student welder using the virtual reality welding system100, is stored on the virtual reality welding system 100. The simulatedwelding parameters correspond to the measured welding parameters, butare generated in the virtual reality welding system 100 as part of thewelding simulation, as opposed to in the real-world welding machine. Inthe virtual reality welding system 100, welding parameters (e.g.,current and derivations thereof, voltage and derivations thereof, wirefeed speed and derivations thereof) are simulated as part of simulatinga virtual weld puddle having real-time molten metal fluidity and heatdissipation characteristics, for example.

In step 2430, a plurality of expert welding quality parameters arecalculated based on the first data set using the programmableprocessor-based subsystem 110 of the virtual reality welding system 100.In step 2440, a plurality of student welding quality parameters arecalculated based on the second data set using the programmableprocessor-based subsystem 110 of the virtual reality welding system 100.The calculating of quality parameters based on measured weldingparameters is disclosed in the published U.S. patent application havingSer. No. 13/453,124 which is incorporated herein by reference. Thecalculating of quality parameters based on simulated welding parametersmay be performed in a similar manner.

In the method 2400, the student welding quality parameters are derivedfrom the simulated welding parameters that were generated by the virtualreality welding system during the student welding activity, and themeasured welding parameters that were generated by an expert during thereal-world welding activity and imported from the real-world weldingmachine. Therefore, the student welding quality parameters arerepresentative of the student's performance in virtual reality spacewith respect to an expert welder's performance in the real world.

In step 2450, the plurality of expert welding quality parameters arecompared to the plurality of student welding quality parameters usingthe programmable processor-based subsystem 110 of the virtual realitywelding system 100. In step 2460, a numerical student score iscalculated in response to the comparing step using the programmableprocessor-based subsystem 110 of the virtual reality welding system 100.The numerical student score may be representative of a total deviationin weld quality from the ideal weld. Alternatively, the numericalstudent score may be representative of a total closeness in weld qualityto the ideal weld. For example, the numerical student score may becalculated by taking a difference between each corresponding weldquality parameter of the student welding quality parameters and theexpert welding quality parameters, weighting each difference, andsumming the weighted differences. Other methods of generating thenumerical student score are possible as well, in accordance with variousother embodiments. Again, the numerical student score may be normalizedto a range of 0% to 100%, for example.

A further embodiment provides a method of analyzing simulated weldingparameters. The method includes storing a first data set of simulatedwelding parameters, generated during a first simulated welding activitycorresponding to a defined welding process performed by an expert welderusing a virtual reality welding system, on the virtual reality weldingsystem. The expert welder may be a robotic welder or a human welder, forexample. The method also includes storing a second data set of simulatedwelding parameters, generated during a second simulated welding activitycorresponding to the defined welding process as performed by a studentwelder using the virtual reality welding system, on the virtual realitywelding system. The method further includes calculating a plurality ofexpert welding quality parameters based on the first data set using aprogrammable processor-based subsystem of the virtual reality system.The method further includes calculating a plurality of student weldingquality parameters based on the second data set using a programmableprocessor-based subsystem of the virtual reality system. The method mayfurther include comparing the plurality of expert welding qualityparameters to the plurality of student welding quality parameters usingthe programmable processor-based subsystem of the virtual realitywelding system. The method may also include generating a numericalstudent score in response to the comparing using the programmableprocessor-based subsystem of the virtual reality welding system. Thenumerical score may be representative of a total deviation in weldquality from the weld of ideal quality, for example.

FIG. 25 is a flow chart of a second embodiment of a method 2500 ofgenerating a plurality of student welding quality parameters and anumerical student score. In step 2510, a first data set of simulatedwelding parameters, generated during a first simulated welding activitycorresponding to a defined welding process performed by an expert welderusing the virtual reality welding system 100, is stored on the virtualreality welding system 100. The expert welder may be an experiencedhuman welder or a robotic welder, for example. In step 2520, a seconddata set of simulated welding parameters, generated during a simulatedwelding activity corresponding to the defined welding process asperformed by a student welder using the virtual reality welding system100, is stored on the virtual reality welding system 100. The simulatedwelding parameters are generated in the virtual reality welding system100 as part of the welding simulation. In step 2530, a plurality ofexpert welding quality parameters are calculated based on the first dataset using the programmable processor-based subsystem 110 of the virtualreality welding system 100. In step 2540, a plurality of student weldingquality parameters are calculated based on the second data set using theprogrammable processor-based subsystem 110 of the virtual realitywelding system 100. The calculating of quality parameters, whethermeasured are simulated, is disclosed in the published U.S. patentapplication having Ser. No. 13/453,124 which is incorporated herein byreference.

In the method 2500, the welding quality parameters are derived from thesimulated welding parameters generated by the virtual reality weldingsystem during the expert welding activity and the student weldingactivity. Therefore, the student welding quality parameters arerepresentative of the student's performance in virtual reality space andthe expert welding quality parameters are representative of the expert'sperformance in virtual reality space. The student welding qualityparameters may next be compared to the expert welding qualityparameters.

In step 2550, the plurality of expert welding quality parameters arecompared to the plurality of student welding quality parameters usingthe programmable processor-based subsystem 110 of the virtual realitywelding system 100. In step 2560, a numerical student score iscalculated in response to the comparing step using the programmableprocessor-based subsystem 110 of the virtual reality welding system 100.The numerical student score may be representative of a total deviationin weld quality from the ideal weld. Alternatively, the numericalstudent score may be representative of a total closeness in weld qualityto the ideal weld. For example, the numerical student score may becalculated by taking a difference between each corresponding weldquality parameter of the student welding quality parameters and theexpert welding quality parameters, weighting each difference, andsumming the weighted differences. Other methods of generating anumerical student score are possible as well, in accordance with variousother embodiments.

Another embodiment provides a method of importing and analyzing data.The method includes importing a digital model representative of a weldedcustom assembly into a virtual reality welding system. The method alsoincludes analyzing the digital model to segment the digital model into aplurality of sections using a programmable processor-based subsystem ofthe virtual reality welding system, wherein each section of theplurality of sections corresponds to a single weld joint type of thewelded custom assembly. The method further includes matching eachsection of the plurality of sections to a virtual welding coupon of aplurality of virtual welding coupons modeled in the virtual realitywelding system using the programmable processor-based subsystem of thevirtual reality welding system. The method may also include generating avirtual welding training program that uses the virtual welding couponscorresponding to the matched sections of the digital modelrepresentative of the welded custom assembly using the programmableprocessor-based subsystem of the virtual reality welding system. Each ofthe virtual welding coupons may correspond to a mock welding coupon ofthe virtual reality welding system. The single weld joint type mayinclude one of a butt joint, a tee joint, a corner joint, an edge joint,or a lap joint, for example. Other single weld joint types are possibleas well, in accordance with various other embodiments.

FIG. 26 illustrates the concept of importing a digital model 2600representative of a welded custom assembly into the virtual realitywelding system 100. The welded custom assembly may correspond to thefinal assembled product of a plurality of metal parts that are weldedtogether. A manufacturer may have many such final assembled products toproduce and, therefore, may need to train one or more welders toefficiently and reliably weld the metal parts together. In accordancewith an embodiment, the digital model 2600 is a computer-aided design(CAD) model of a custom welded assembly represented in three-dimensionalspace, for example. Other types of digital models may be possible aswell, in accordance with various other embodiments of the presentinvention. For example, a digital model may correspond to a customwelded assembly shown in multiple two-dimensional views, as on a blueprint. The term “digital model” as used herein refers to data and/orinstructions that are in a digital format (e.g., a digital electronicformat stored on a computer-readable medium) that may be read by acomputer-based or processor-based apparatus such as the virtual realitywelding system 100.

The digital model 2600 may be imported into the virtual reality weldingsystem 100 via wired means or wireless means through a communicationdevice 2010. In accordance with an embodiment, the communication device2010 is operatively connected to the programmable processor-basedsubsystem 110 and provides all of the circuitry and/or software forreceiving data in a digitally communicated manner (see FIG. 1). Forexample, the communication device 2010 may include an Ethernet port andEthernet-capable receiving circuitry. As another example, thecommunication device 2010 may provide a wireless Bluetooth™communication connection. Alternatively, the communication device 2010may be a device that accepts and reads a non-transitorycomputer-readable medium such as a computer disk or a flash drive datastorage device, for example. As a further alternative embodiment, thecommunication device 2010 may be a modern device providing connection tothe internet. Other types of communication devices are possible as well,in accordance with various other embodiments.

FIG. 27 illustrates the concept of matching sections of a digital model2600 representative of a welded custom assembly 2700 to a plurality ofwelding coupons 2705. For example, the welded custom assembly 2700 maybe made up of a plurality of different weld joint types, joiningtogether a plurality of different metal parts. In accordance with anembodiment, the virtual reality welding system 100 is configured to(i.e., programmed to) analyze the digital model 2600 of the customwelded assembly 2700 and segment the digital model 2600 into a pluralityof sections, where each section corresponds to a weld joint type of thewelded custom assembly 2700. Each section may be matched (or attemptedto be matched) to one of the plurality of welding coupons 2705 asdiscussed with respect to the method 2800 of FIG. 28. For example, asection 2701 of the welded custom assembly 2700, as represented in thedigital model 2600, may be matched to a welding coupon 2706.

In accordance with an embodiment, each welding coupon of the pluralityof welding coupons 2705 is modeled in the virtual reality welding system100 in virtual reality space and also exists as a mock welding coupon(e.g., a plastic part) that may be used by a user along with a mockwelding tool during a virtual welding activity. The plurality of weldingcoupons may correspond to coupons having a butt joint, a tee joint, acorner joint, an edge joint, or a lap joint, for example. Weldingcoupons having other types of joints are possible as well, in accordancewith various other embodiments.

FIG. 28 is a flowchart of an embodiment of a method 2800 to generate avirtual welding training program for a welded custom assembly 2700. Instep 2810, a digital model 2600 representative of a welded customassembly 2700 is imported into the virtual reality welding system 100,as illustrated in FIG. 26. In step 2820, the digital model is analyzedusing the programmable processor-based subsystem 110 of the virtualreality welding system 100 to segment the digital model 2600 into aplurality of sections, wherein each section of the plurality of sectionscorresponds to a single weld joint type of the welded custom assembly.

In accordance with an embodiment, the analyzing includes recognizingfeatures in the digital model that correspond to single weld joint typesof the welded custom assembly using feature identification techniques. Afeature, in computer aided design (CAD) model, may be a region of anassembly with some particular geometric or topological patterns that mayrelate to, for example, shape, functional, or manufacturing information.In feature recognition, the idea is to algorithmically extract higherlevel entities (e.g. manufacturing features) from lower level elements(e.g. surfaces, edges, etc.) of a CAD model. The exact types ofalgorithms used may be chosen and implemented with sound engineeringjudgment, based on the types of welded custom assemblies expected to beencountered.

In step 2830, each section of the plurality of sections is matched (orattempted to be matched) to a virtual welding coupon of a plurality ofvirtual welding coupons 2705 modeled in the virtual reality weldingsystem 100 using the programmable processor-based subsystem 110 of thevirtual reality welding system 100. In accordance with an embodiment,the feature matching includes using convolution masks or templates,tailored to specific features of the welding coupons. The output of theconvolution process is highest at locations where a section matches themask structure of a welding coupon. The exact types of matchingtechniques used may be chosen and implemented with sound engineeringjudgment, based on the types of welded custom assemblies expected to beencountered.

In step 2840, a virtual welding training program is generated that usesthe virtual welding coupons corresponding to the matched sections of thedigital model 2600 of the custom welded assembly 2700 using theprogrammable processor-based subsystem 110 of the virtual realitywelding system 100. For example, the virtual welding training programmay include a sequence of welding steps that direct a welder withrespect to how to practice welding of the assembly 2700, using thematched welding coupons, in a particular order.

In summary, a real-time virtual reality welding system is disclosed. Thesystem includes a programmable processor-based subsystem, a spatialtracker operatively connected to the programmable processor-basedsubsystem, at least one mock welding tool capable of being spatiallytracked by the spatial tracker, and at least one display deviceoperatively connected to the programmable processor-based subsystem. Thesystem is capable of simulating, in virtual reality space, a weld puddlehaving real-time molten metal fluidity and heat dissipationcharacteristics. The system is further capable of importing data intothe virtual reality welding system and analyzing the data tocharacterize a student welder's progress and to provide training.

While the invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the invention without departing from its scope.Therefore, it is intended that the invention not be limited to theparticular embodiment disclosed, but that the invention will include allembodiments falling within the scope of the appended claims.

What is claimed is:
 1. A method for simulating welding activity, saidmethod comprising: optically tracking a movement and orientation of awelding tool relative to a welding coupon during a simulated weldingoperation; receiving information related to said movement andorientation of said welding tool; modeling, during said simulatedwelding operation, a simulated welding surface for said welding coupon;displaying said simulated welding surface on each of a first displaydevice and a second display device, where said first display device isdisposed in a helmet; modeling, during said simulated welding operation,a simulated welding arc between an emitting end of said welding tool andsaid simulated welding surface; modeling a simulated weld puddlegenerated from a simulated deposition of weld material, wherein saidsimulated weld puddle has a plurality of welding elements, each weldingelement having a plurality of values, and where at least some of saidvalues change dynamically during said simulated welding operation basedon said movement and orientation of said welding tool, wherein saidmodeling of said simulated weld puddle includes to model real-timemolten metal fluidity and real-time heat dissipation characteristics ofsaid weld puddle; displaying said simulated welding operation, includingsaid simulated weld puddle and said simulated deposition of said weldmaterial, on either one of or both of said first and second displaydevices; and displaying a simulated completed weld bead on either one ofor both of said first and second display devices where said simulatedcompleted weld bead is based on a cooling threshold for a transition ofsaid welding elements from a molten state to a solid state and on saidmovement and orientation of said welding tool.
 2. The method of claim 1,wherein said optically tracking uses an optical tracker that is mountedon said helmet.
 3. The method of claim 1, said method further comprisesplaying simulated welding sounds from a speaker in said helmet inreal-time with the simulated welding operation.
 4. The method of claim1, further comprising: determining at least one welding parameter duringsaid simulated welding operation; and comparing said at least onedetermined welding parameter to a stored value for said at least onedetermined welding parameter; and displaying said comparison on saidsecond display device.
 5. The method of claim 4, wherein said displayingof said comparison is in graphical form.
 6. The method of claim 1,further comprising: determining at least one welding parameter duringsaid simulated welding operation; comparing said at least one determinedwelding parameter to a tolerance window defined by limits around asetpoint for said at least one determined welding parameter; anddisplaying said comparison on said second display device.
 7. The methodof claim 6, wherein said displaying of said comparison is in graphicalform.
 8. The method of claim 1, further comprising: determining aplurality of welding parameters during said simulated welding operation;and providing a score for each of said plurality of determined weldingparameters based on a comparison between said plurality of determinedwelding parameters and a desired value for each of said plurality ofdetermined welding parameters, respectively.
 9. The method of claim 1,further comprising: determining a plurality of welding parameters duringsaid simulated welding operation; and determining a presence of adiscontinuity within said completed simulated weld bead, where saiddiscontinuity is at least one of spatter and porosity.
 10. The method ofclaim 9, further comprising: displaying, on either of or both of saidfirst and said second display devices, said discontinuity during saidsimulated welding operation, in real time, and in said completedsimulated weld bead.
 11. The method of claim 1, further comprising:generating and displaying on said first display device at least onewelding effect, which is one of simulated welding sparks, simulatedwelding spatter, simulated arc glow and simulated porosity during saidsimulated welding operation, and where said at least one welding effectis displayed, in real time, based on at least one simulated weldingparameter.
 12. The method of claim 1, further comprising: changing atleast some of said values of at least some of said welding elements ofsaid completed simulated weld bead when said welding tool is used tomake a second simulated weld bead over said completed simulated weldbead, and where each of said completed simulated weld bead and saidsecond simulated weld bead are displayed on said first and seconddisplay devices at the same time.
 13. A method for simulating weldingactivity, comprising: tracking a movement and orientation of a weldingtool relative to a welding coupon using at least one optical sensorduring a simulated welding operation; receiving information related tosaid movement and orientation of said welding tool; modeling, duringsaid simulated welding operation, a simulated welding surface for saidwelding coupon; displaying said simulated welding surface on each of afirst display device and a second display device, where said firstdisplay device is disposed in a helmet; modeling a simulated a weldpuddle have real-time molten metal fluidity and real-time heatdissipation characteristics during said simulated welding operation,wherein said simulated weld puddle has a plurality of welding elements,where each of said welding elements has a first value representative ofheat; dynamically changing said first value for at least some of saidwelding elements during said simulated welding operation to display oneach of said first and second display devices simulated deposition ofmaterial into said simulated weld puddle, and where said dynamic changesare based on said movement and orientation of said welding tool; anddisplaying a simulated completed weld bead on said first and seconddisplay devices which is based on said movement and orientation of saidwelding tool, and based on a cooling threshold value for a transition ofsaid welding elements from a molten state to a solid state, wherein whensaid first value of any of said welding elements is higher than saidcooling threshold value said first and second display devices displaysaid welding elements in a simulated fluid state and when said firstvalue is lower than said cooling threshold value said first and seconddisplay devices display said welding elements in a simulated solidstate.
 14. A method for simulating welding activity, comprising:tracking a movement and orientation of a welding tool for a simulatedwelding operation relative to a welding coupon using at least oneoptical sensor; displaying, on a first display device which is disposedin a helmet, said movement and orientation of said welding tool and saidsimulated welding operation; displaying, on a second display device,said movement and orientation of said welding tool and said simulatedwelding operation; receiving information related to said movement andorientation of said welding tool and using said information to determinea plurality of welding parameters; displaying, on said second displaydevice, said plurality of welding parameters, in real-time, during saidsimulated welding operation; modeling, during said simulated weldingoperation, a simulated welding surface for said welding coupon;displaying said simulated welding surface on each of said first andsecond display devices during said simulated welding operation;modeling, during said simulated welding operation, a simulated weldingarc between an emitting end of said welding tool and said simulatedwelding surface; modeling a simulated weld puddle having real-timemolten metal fluidity and real-time heat dissipation characteristicsduring said simulated welding operation, wherein said simulated weldpuddle has a plurality of welding elements, where each of said weldingelements has a value representative of heat; dynamically changing saidvalue of at least some of said welding elements during said simulatedwelding operation to display on each of said first and second displaydevices a simulated deposition of material into said simulated weldpuddle, and where said dynamic changes are based on said movement andorientation of said welding tool; displaying a simulated completed weldbead on said first and second display devices which is based on saidmovement and orientation of said welding tool, and based on a coolingthreshold value for a transition of said welding elements from a moltenstate to a solid state; and displaying at least one of said plurality ofwelding parameters in graphical form in real time during said simulatedwelding operation on said second display device.
 15. The method of claim14, wherein said helmet further comprises an audio speaker, and saidmethod further comprises simulating welding sounds in real-time with thesimulated welding operation.
 16. The method of claim 14, wherein saidplurality of welding parameters include weld angle, travel angle, andtravel speed.
 17. The method of claim 14, further comprising: comparingat least one of said plurality of welding parameters to a tolerancewindow defined by limits around a setpoint for said at least one weldingparameter; and displaying said comparison on said second display device.18. The method of claim 14, further comprising: providing a score foreach of said plurality of welding parameters based on a comparisonbetween said plurality of welding parameters and a desired value foreach of said plurality of welding parameters, respectively.
 19. Themethod of claim 18, further comprising: displaying, on each of saidfirst and second display devices, a discontinuity during said simulatedwelding operation, in real time, and in said simulated completed weldbead.
 20. The method of claim 14, further comprising: generating anddisplaying on said first display device at least one welding effect,which is one of simulated welding sparks, simulated welding spatter,simulated arc glow and simulated porosity during said simulated weldingoperation, and where said at least one welding effect is displayed, inreal time, based on said movement and orientation of said welding tool.21. A method for simulating welding activity, said method comprising:tracking a welding tool to determine a movement and orientation of saidwelding tool relative to a welding coupon in a simulated weldingoperation; displaying, on each of a first display device and a seconddisplay device, said simulated welding operation, where said displayingincludes displaying said movement and orientation of said welding tool;modeling, during said simulated welding operation, a simulated weldingsurface on said welding coupon; displaying said simulated weldingsurface on each of said first display device and said second displaydevice; modeling, during said simulated welding operation, a simulatedwelding arc between an end of said welding tool and said simulatedwelding surface; using a plurality of welding elements to model asimulated weld puddle having real-time molten metal fluidity andreal-time heat dissipation characteristics during said simulated weldingoperation, where each of said plurality of said welding elements has atleast one value representative of heat which changes dynamically duringsaid simulated welding operation based on said movement and saidorientation of said welding tool; modeling a simulated weld bead basedon said movement and orientation of said welding tool, and based on acooling threshold value for a transition of said first values for saidwelding elements from a molten state to a solid state; and displayingsaid simulated weld bead on said first display device and said seconddisplay device.
 22. The method of claim 21, wherein said tracking isperformed optically using optical sensors.
 23. The method of claim 21,wherein said first display device is integrated into a helmet comprisingan audio speaker, and further comprising simulating welding sounds inreal-time with the simulated welding operation.
 24. The method of claim21, further comprising: determining at least one welding parameterduring said simulated welding operation; and comparing said at least onedetermined welding parameter to a stored value for said at least onedetermined welding parameter; and displaying said comparison on saidsecond display device.
 25. The method of claim 24, wherein saiddisplaying of said comparison is in graphical form.
 26. The method ofclaim 21, further comprising: determining at least one welding parameterduring said simulated welding operation; comparing said at least onedetermined welding parameter to a tolerance window defined by limitsaround a setpoint for said at least one determined welding parameter;and displaying said comparison on said second display device.
 27. Themethod of claim 26, wherein said displaying of said comparison is ingraphical form.
 28. The method of claim 21, further comprising:determining a plurality of welding parameters during said simulatedwelding operation; and providing a score for each of said plurality ofdetermined welding parameters based on a comparison between saidplurality of determined welding parameters and a desired value for eachof said plurality of determined welding parameters, respectively. 29.The method of claim 21, further comprising: determining a plurality ofwelding parameters during said simulated welding operation; determininga presence of a discontinuity within said simulated weld bead, wheresaid discontinuity is a presence of at least one of spatter andporosity; and displaying, on said first display device, saiddiscontinuity during said simulated welding operation, in real time, andin said simulated weld bead.
 30. The method of claim 21, furthercomprising: generating and displaying on said first display device atleast one welding effect, which is one of simulated welding sparks,simulated welding spatter, simulated arc glow and simulated porosityduring said simulated welding operation, and where said at least onewelding effect is displayed, in real time.